/**
 * <copyright>
 * </copyright>
 *
 * $Id: EMetaModelPackage.java,v 1.1 2008/03/31 03:50:44 zhubin Exp $
 */
package edu.pku.sei.modeler.model.core;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModelFactory
 * @model kind="package"
 * @generated
 */
public interface EMetaModelPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "metamodel";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http:///edu/pku/sei/modeler/ocl/MetaModel.ecore";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "edu.pku.sei.modeler.ocl.metamodel";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	EMetaModelPackage eINSTANCE = EMetaModelPackageImpl.init();

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaElementImpl <em>EMeta Element</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaElementImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaElement()
	 * @generated
	 */
	int EMETA_ELEMENT = 0;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ELEMENT__ELEMENT_ID = 0;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ELEMENT__CONTAINER = 1;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ELEMENT__MODEL = 2;

	/**
	 * The number of structural features of the '<em>EMeta Element</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ELEMENT_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelElementImpl <em>Element</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelElementImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaModelElement()
	 * @generated
	 */
	int EMETA_MODEL_ELEMENT = 1;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_ELEMENT__ELEMENT_ID = EMETA_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_ELEMENT__CONTAINER = EMETA_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_ELEMENT__MODEL = EMETA_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_ELEMENT__COMMENTS = EMETA_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Element</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_ELEMENT_FEATURE_COUNT = EMETA_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaCommentImpl <em>EMeta Comment</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaCommentImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaComment()
	 * @generated
	 */
	int EMETA_COMMENT = 2;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT__ELEMENT_ID = EMETA_MODEL_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT__CONTAINER = EMETA_MODEL_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT__MODEL = EMETA_MODEL_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT__COMMENTS = EMETA_MODEL_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Body</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT__BODY = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Comment</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_COMMENT_FEATURE_COUNT = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaNamedElementImpl <em>EMeta Named Element</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaNamedElementImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaNamedElement()
	 * @generated
	 */
	int EMETA_NAMED_ELEMENT = 3;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT__ELEMENT_ID = EMETA_MODEL_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT__CONTAINER = EMETA_MODEL_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT__MODEL = EMETA_MODEL_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT__COMMENTS = EMETA_MODEL_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT__NAME = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Named Element</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_NAMED_ELEMENT_FEATURE_COUNT = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPackageImpl <em>EMeta Package</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPackageImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaPackage()
	 * @generated
	 */
	int EMETA_PACKAGE = 5;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaTypedElementImpl <em>EMeta Typed Element</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaTypedElementImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaTypedElement()
	 * @generated
	 */
	int EMETA_TYPED_ELEMENT = 6;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassifierImpl <em>EMeta Classifier</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassifierImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaClassifier()
	 * @generated
	 */
	int EMETA_CLASSIFIER = 7;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelImpl <em>EMeta Model</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaModel()
	 * @generated
	 */
	int EMETA_MODEL = 8;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaGeneralizationImpl <em>EMeta Generalization</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaGeneralizationImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaGeneralization()
	 * @generated
	 */
	int EMETA_GENERALIZATION = 4;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION__ELEMENT_ID = EMETA_MODEL_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION__CONTAINER = EMETA_MODEL_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION__MODEL = EMETA_MODEL_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION__COMMENTS = EMETA_MODEL_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>General</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION__GENERAL = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Generalization</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_GENERALIZATION_FEATURE_COUNT = EMETA_MODEL_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__ELEMENT_ID = EMETA_NAMED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__CONTAINER = EMETA_NAMED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__MODEL = EMETA_NAMED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__COMMENTS = EMETA_NAMED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__NAME = EMETA_NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Sub Packages</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__SUB_PACKAGES = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Named Elements</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__NAMED_ELEMENTS = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Other Elements</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE__OTHER_ELEMENTS = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>EMeta Package</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PACKAGE_FEATURE_COUNT = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__ELEMENT_ID = EMETA_NAMED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__CONTAINER = EMETA_NAMED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__MODEL = EMETA_NAMED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__COMMENTS = EMETA_NAMED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__NAME = EMETA_NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__TYPE = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__LOWER_BOUND = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__UPPER_BOUND = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__ORDERED_FLAG = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT__UNIQUE_FLAG = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 4;

	/**
	 * The number of structural features of the '<em>EMeta Typed Element</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_TYPED_ELEMENT_FEATURE_COUNT = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 5;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__ELEMENT_ID = EMETA_NAMED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__CONTAINER = EMETA_NAMED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__MODEL = EMETA_NAMED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__COMMENTS = EMETA_NAMED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__NAME = EMETA_NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__GENERALS = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER__LEAF_FLAG = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>EMeta Classifier</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASSIFIER_FEATURE_COUNT = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__ELEMENT_ID = EMETA_NAMED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__CONTAINER = EMETA_NAMED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__MODEL = EMETA_NAMED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__COMMENTS = EMETA_NAMED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__NAME = EMETA_NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Packages</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__PACKAGES = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>All Types</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL__ALL_TYPES = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>EMeta Model</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_MODEL_FEATURE_COUNT = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumLiteralImpl <em>EMeta Enum Literal</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumLiteralImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaEnumLiteral()
	 * @generated
	 */
	int EMETA_ENUM_LITERAL = 9;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__ELEMENT_ID = EMETA_NAMED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__CONTAINER = EMETA_NAMED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__MODEL = EMETA_NAMED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__COMMENTS = EMETA_NAMED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__NAME = EMETA_NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL__VALUE = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Enum Literal</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_LITERAL_FEATURE_COUNT = EMETA_NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassImpl <em>EMeta Class</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaClass()
	 * @generated
	 */
	int EMETA_CLASS = 10;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__ELEMENT_ID = EMETA_CLASSIFIER__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__CONTAINER = EMETA_CLASSIFIER__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__MODEL = EMETA_CLASSIFIER__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__COMMENTS = EMETA_CLASSIFIER__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__NAME = EMETA_CLASSIFIER__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__GENERALS = EMETA_CLASSIFIER__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__LEAF_FLAG = EMETA_CLASSIFIER__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Abstract Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__ABSTRACT_FLAG = EMETA_CLASSIFIER_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Interface Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__INTERFACE_FLAG = EMETA_CLASSIFIER_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Attributes</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__ATTRIBUTES = EMETA_CLASSIFIER_FEATURE_COUNT + 2;

	/**
	 * The feature id for the '<em><b>References</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__REFERENCES = EMETA_CLASSIFIER_FEATURE_COUNT + 3;

	/**
	 * The feature id for the '<em><b>Structural Features</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__STRUCTURAL_FEATURES = EMETA_CLASSIFIER_FEATURE_COUNT + 4;

	/**
	 * The feature id for the '<em><b>Operations</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS__OPERATIONS = EMETA_CLASSIFIER_FEATURE_COUNT + 5;

	/**
	 * The number of structural features of the '<em>EMeta Class</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_CLASS_FEATURE_COUNT = EMETA_CLASSIFIER_FEATURE_COUNT + 6;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaDataTypeImpl <em>EMeta Data Type</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaDataTypeImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaDataType()
	 * @generated
	 */
	int EMETA_DATA_TYPE = 11;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__ELEMENT_ID = EMETA_CLASSIFIER__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__CONTAINER = EMETA_CLASSIFIER__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__MODEL = EMETA_CLASSIFIER__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__COMMENTS = EMETA_CLASSIFIER__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__NAME = EMETA_CLASSIFIER__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__GENERALS = EMETA_CLASSIFIER__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__LEAF_FLAG = EMETA_CLASSIFIER__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Serializable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE__SERIALIZABLE_FLAG = EMETA_CLASSIFIER_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Data Type</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_DATA_TYPE_FEATURE_COUNT = EMETA_CLASSIFIER_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPrimitiveTypeImpl <em>EMeta Primitive Type</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPrimitiveTypeImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaPrimitiveType()
	 * @generated
	 */
	int EMETA_PRIMITIVE_TYPE = 12;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__ELEMENT_ID = EMETA_DATA_TYPE__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__CONTAINER = EMETA_DATA_TYPE__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__MODEL = EMETA_DATA_TYPE__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__COMMENTS = EMETA_DATA_TYPE__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__NAME = EMETA_DATA_TYPE__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__GENERALS = EMETA_DATA_TYPE__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__LEAF_FLAG = EMETA_DATA_TYPE__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Serializable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE__SERIALIZABLE_FLAG = EMETA_DATA_TYPE__SERIALIZABLE_FLAG;

	/**
	 * The number of structural features of the '<em>EMeta Primitive Type</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PRIMITIVE_TYPE_FEATURE_COUNT = EMETA_DATA_TYPE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumImpl <em>EMeta Enum</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaEnum()
	 * @generated
	 */
	int EMETA_ENUM = 13;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__ELEMENT_ID = EMETA_DATA_TYPE__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__CONTAINER = EMETA_DATA_TYPE__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__MODEL = EMETA_DATA_TYPE__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__COMMENTS = EMETA_DATA_TYPE__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__NAME = EMETA_DATA_TYPE__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__GENERALS = EMETA_DATA_TYPE__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__LEAF_FLAG = EMETA_DATA_TYPE__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Serializable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__SERIALIZABLE_FLAG = EMETA_DATA_TYPE__SERIALIZABLE_FLAG;

	/**
	 * The feature id for the '<em><b>Enum Literals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM__ENUM_LITERALS = EMETA_DATA_TYPE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Enum</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ENUM_FEATURE_COUNT = EMETA_DATA_TYPE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaUnlimitedNaturalImpl <em>EMeta Unlimited Natural</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaUnlimitedNaturalImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaUnlimitedNatural()
	 * @generated
	 */
	int EMETA_UNLIMITED_NATURAL = 14;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__ELEMENT_ID = EMETA_DATA_TYPE__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__CONTAINER = EMETA_DATA_TYPE__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__MODEL = EMETA_DATA_TYPE__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__COMMENTS = EMETA_DATA_TYPE__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__NAME = EMETA_DATA_TYPE__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__GENERALS = EMETA_DATA_TYPE__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__LEAF_FLAG = EMETA_DATA_TYPE__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Serializable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__SERIALIZABLE_FLAG = EMETA_DATA_TYPE__SERIALIZABLE_FLAG;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__VALUE = EMETA_DATA_TYPE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Is Unlimited</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL__IS_UNLIMITED = EMETA_DATA_TYPE_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>EMeta Unlimited Natural</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_UNLIMITED_NATURAL_FEATURE_COUNT = EMETA_DATA_TYPE_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaParameterImpl <em>EMeta Parameter</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaParameterImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaParameter()
	 * @generated
	 */
	int EMETA_PARAMETER = 15;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__ELEMENT_ID = EMETA_TYPED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__CONTAINER = EMETA_TYPED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__MODEL = EMETA_TYPED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__COMMENTS = EMETA_TYPED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__NAME = EMETA_TYPED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__TYPE = EMETA_TYPED_ELEMENT__TYPE;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__LOWER_BOUND = EMETA_TYPED_ELEMENT__LOWER_BOUND;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__UPPER_BOUND = EMETA_TYPED_ELEMENT__UPPER_BOUND;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__ORDERED_FLAG = EMETA_TYPED_ELEMENT__ORDERED_FLAG;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__UNIQUE_FLAG = EMETA_TYPED_ELEMENT__UNIQUE_FLAG;

	/**
	 * The feature id for the '<em><b>Containing Operation</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER__CONTAINING_OPERATION = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>EMeta Parameter</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_PARAMETER_FEATURE_COUNT = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaStructuralFeatureImpl <em>EMeta Structural Feature</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaStructuralFeatureImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaStructuralFeature()
	 * @generated
	 */
	int EMETA_STRUCTURAL_FEATURE = 16;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__ELEMENT_ID = EMETA_TYPED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__CONTAINER = EMETA_TYPED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__MODEL = EMETA_TYPED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__COMMENTS = EMETA_TYPED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__NAME = EMETA_TYPED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__TYPE = EMETA_TYPED_ELEMENT__TYPE;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__LOWER_BOUND = EMETA_TYPED_ELEMENT__LOWER_BOUND;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__UPPER_BOUND = EMETA_TYPED_ELEMENT__UPPER_BOUND;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__ORDERED_FLAG = EMETA_TYPED_ELEMENT__ORDERED_FLAG;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__UNIQUE_FLAG = EMETA_TYPED_ELEMENT__UNIQUE_FLAG;

	/**
	 * The feature id for the '<em><b>Containing Class</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__CONTAINING_CLASS = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Changeable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__CHANGEABLE_FLAG = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Derived Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE__DERIVED_FLAG = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>EMeta Structural Feature</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaOperationImpl <em>EMeta Operation</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaOperationImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaOperation()
	 * @generated
	 */
	int EMETA_OPERATION = 17;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__ELEMENT_ID = EMETA_TYPED_ELEMENT__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__CONTAINER = EMETA_TYPED_ELEMENT__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__MODEL = EMETA_TYPED_ELEMENT__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__COMMENTS = EMETA_TYPED_ELEMENT__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__NAME = EMETA_TYPED_ELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__TYPE = EMETA_TYPED_ELEMENT__TYPE;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__LOWER_BOUND = EMETA_TYPED_ELEMENT__LOWER_BOUND;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__UPPER_BOUND = EMETA_TYPED_ELEMENT__UPPER_BOUND;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__ORDERED_FLAG = EMETA_TYPED_ELEMENT__ORDERED_FLAG;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__UNIQUE_FLAG = EMETA_TYPED_ELEMENT__UNIQUE_FLAG;

	/**
	 * The feature id for the '<em><b>Containing Class</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__CONTAINING_CLASS = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Exceptions</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__EXCEPTIONS = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION__PARAMETERS = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>EMeta Operation</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_OPERATION_FEATURE_COUNT = EMETA_TYPED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaReferenceImpl <em>EMeta Reference</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaReferenceImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaReference()
	 * @generated
	 */
	int EMETA_REFERENCE = 18;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__ELEMENT_ID = EMETA_STRUCTURAL_FEATURE__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__CONTAINER = EMETA_STRUCTURAL_FEATURE__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__MODEL = EMETA_STRUCTURAL_FEATURE__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__COMMENTS = EMETA_STRUCTURAL_FEATURE__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__NAME = EMETA_STRUCTURAL_FEATURE__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__TYPE = EMETA_STRUCTURAL_FEATURE__TYPE;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__LOWER_BOUND = EMETA_STRUCTURAL_FEATURE__LOWER_BOUND;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__UPPER_BOUND = EMETA_STRUCTURAL_FEATURE__UPPER_BOUND;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__ORDERED_FLAG = EMETA_STRUCTURAL_FEATURE__ORDERED_FLAG;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__UNIQUE_FLAG = EMETA_STRUCTURAL_FEATURE__UNIQUE_FLAG;

	/**
	 * The feature id for the '<em><b>Containing Class</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__CONTAINING_CLASS = EMETA_STRUCTURAL_FEATURE__CONTAINING_CLASS;

	/**
	 * The feature id for the '<em><b>Changeable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__CHANGEABLE_FLAG = EMETA_STRUCTURAL_FEATURE__CHANGEABLE_FLAG;

	/**
	 * The feature id for the '<em><b>Derived Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__DERIVED_FLAG = EMETA_STRUCTURAL_FEATURE__DERIVED_FLAG;

	/**
	 * The feature id for the '<em><b>Opposite</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__OPPOSITE = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Container Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__CONTAINER_FLAG = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Containment Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE__CONTAINMENT_FLAG = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>EMeta Reference</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_REFERENCE_FEATURE_COUNT = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaAttributeImpl <em>EMeta Attribute</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaAttributeImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaAttribute()
	 * @generated
	 */
	int EMETA_ATTRIBUTE = 19;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__ELEMENT_ID = EMETA_STRUCTURAL_FEATURE__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__CONTAINER = EMETA_STRUCTURAL_FEATURE__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__MODEL = EMETA_STRUCTURAL_FEATURE__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__COMMENTS = EMETA_STRUCTURAL_FEATURE__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__NAME = EMETA_STRUCTURAL_FEATURE__NAME;

	/**
	 * The feature id for the '<em><b>Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__TYPE = EMETA_STRUCTURAL_FEATURE__TYPE;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__LOWER_BOUND = EMETA_STRUCTURAL_FEATURE__LOWER_BOUND;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__UPPER_BOUND = EMETA_STRUCTURAL_FEATURE__UPPER_BOUND;

	/**
	 * The feature id for the '<em><b>Ordered Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__ORDERED_FLAG = EMETA_STRUCTURAL_FEATURE__ORDERED_FLAG;

	/**
	 * The feature id for the '<em><b>Unique Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__UNIQUE_FLAG = EMETA_STRUCTURAL_FEATURE__UNIQUE_FLAG;

	/**
	 * The feature id for the '<em><b>Containing Class</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__CONTAINING_CLASS = EMETA_STRUCTURAL_FEATURE__CONTAINING_CLASS;

	/**
	 * The feature id for the '<em><b>Changeable Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__CHANGEABLE_FLAG = EMETA_STRUCTURAL_FEATURE__CHANGEABLE_FLAG;

	/**
	 * The feature id for the '<em><b>Derived Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__DERIVED_FLAG = EMETA_STRUCTURAL_FEATURE__DERIVED_FLAG;

	/**
	 * The feature id for the '<em><b>ID Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__ID_FLAG = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Initial Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE__INITIAL_VALUE = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>EMeta Attribute</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_ATTRIBUTE_FEATURE_COUNT = EMETA_STRUCTURAL_FEATURE_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaRelationshipImpl <em>EMeta Relationship</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaRelationshipImpl
	 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaRelationship()
	 * @generated
	 */
	int EMETA_RELATIONSHIP = 20;

	/**
	 * The feature id for the '<em><b>Element ID</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__ELEMENT_ID = EMETA_CLASS__ELEMENT_ID;

	/**
	 * The feature id for the '<em><b>Container</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__CONTAINER = EMETA_CLASS__CONTAINER;

	/**
	 * The feature id for the '<em><b>Model</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__MODEL = EMETA_CLASS__MODEL;

	/**
	 * The feature id for the '<em><b>Comments</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__COMMENTS = EMETA_CLASS__COMMENTS;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__NAME = EMETA_CLASS__NAME;

	/**
	 * The feature id for the '<em><b>Generals</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__GENERALS = EMETA_CLASS__GENERALS;

	/**
	 * The feature id for the '<em><b>Leaf Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__LEAF_FLAG = EMETA_CLASS__LEAF_FLAG;

	/**
	 * The feature id for the '<em><b>Abstract Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__ABSTRACT_FLAG = EMETA_CLASS__ABSTRACT_FLAG;

	/**
	 * The feature id for the '<em><b>Interface Flag</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__INTERFACE_FLAG = EMETA_CLASS__INTERFACE_FLAG;

	/**
	 * The feature id for the '<em><b>Attributes</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__ATTRIBUTES = EMETA_CLASS__ATTRIBUTES;

	/**
	 * The feature id for the '<em><b>References</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__REFERENCES = EMETA_CLASS__REFERENCES;

	/**
	 * The feature id for the '<em><b>Structural Features</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__STRUCTURAL_FEATURES = EMETA_CLASS__STRUCTURAL_FEATURES;

	/**
	 * The feature id for the '<em><b>Operations</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__OPERATIONS = EMETA_CLASS__OPERATIONS;

	/**
	 * The feature id for the '<em><b>Source Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__SOURCE_TYPE = EMETA_CLASS_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Target Type</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP__TARGET_TYPE = EMETA_CLASS_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>EMeta Relationship</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int EMETA_RELATIONSHIP_FEATURE_COUNT = EMETA_CLASS_FEATURE_COUNT + 2;


	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaElement <em>EMeta Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Element</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaElement
	 * @generated
	 */
	EClass getEMetaElement();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getElementID <em>Element ID</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Element ID</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getElementID()
	 * @see #getEMetaElement()
	 * @generated
	 */
	EAttribute getEMetaElement_ElementID();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getContainer <em>Container</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Container</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getContainer()
	 * @see #getEMetaElement()
	 * @generated
	 */
	EReference getEMetaElement_Container();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getModel <em>Model</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Model</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaElement#getModel()
	 * @see #getEMetaElement()
	 * @generated
	 */
	EReference getEMetaElement_Model();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaModelElement <em>Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Element</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModelElement
	 * @generated
	 */
	EClass getEMetaModelElement();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaModelElement#getComments <em>Comments</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Comments</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModelElement#getComments()
	 * @see #getEMetaModelElement()
	 * @generated
	 */
	EReference getEMetaModelElement_Comments();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaComment <em>EMeta Comment</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Comment</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaComment
	 * @generated
	 */
	EClass getEMetaComment();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaComment#getBody <em>Body</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Body</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaComment#getBody()
	 * @see #getEMetaComment()
	 * @generated
	 */
	EAttribute getEMetaComment_Body();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaNamedElement <em>EMeta Named Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Named Element</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaNamedElement
	 * @generated
	 */
	EClass getEMetaNamedElement();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaNamedElement#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaNamedElement#getName()
	 * @see #getEMetaNamedElement()
	 * @generated
	 */
	EAttribute getEMetaNamedElement_Name();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaPackage <em>EMeta Package</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Package</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaPackage
	 * @generated
	 */
	EClass getEMetaPackage();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getSubPackages <em>Sub Packages</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Sub Packages</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getSubPackages()
	 * @see #getEMetaPackage()
	 * @generated
	 */
	EReference getEMetaPackage_SubPackages();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getNamedElements <em>Named Elements</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Named Elements</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getNamedElements()
	 * @see #getEMetaPackage()
	 * @generated
	 */
	EReference getEMetaPackage_NamedElements();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getOtherElements <em>Other Elements</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Other Elements</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaPackage#getOtherElements()
	 * @see #getEMetaPackage()
	 * @generated
	 */
	EReference getEMetaPackage_OtherElements();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement <em>EMeta Typed Element</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Typed Element</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement
	 * @generated
	 */
	EClass getEMetaTypedElement();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getType <em>Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Type</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getType()
	 * @see #getEMetaTypedElement()
	 * @generated
	 */
	EReference getEMetaTypedElement_Type();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getLowerBound <em>Lower Bound</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Lower Bound</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getLowerBound()
	 * @see #getEMetaTypedElement()
	 * @generated
	 */
	EAttribute getEMetaTypedElement_LowerBound();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getUpperBound <em>Upper Bound</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Upper Bound</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#getUpperBound()
	 * @see #getEMetaTypedElement()
	 * @generated
	 */
	EAttribute getEMetaTypedElement_UpperBound();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#isOrderedFlag <em>Ordered Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Ordered Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#isOrderedFlag()
	 * @see #getEMetaTypedElement()
	 * @generated
	 */
	EAttribute getEMetaTypedElement_OrderedFlag();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#isUniqueFlag <em>Unique Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Unique Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaTypedElement#isUniqueFlag()
	 * @see #getEMetaTypedElement()
	 * @generated
	 */
	EAttribute getEMetaTypedElement_UniqueFlag();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier <em>EMeta Classifier</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Classifier</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier
	 * @generated
	 */
	EClass getEMetaClassifier();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier#getGenerals <em>Generals</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Generals</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier#getGenerals()
	 * @see #getEMetaClassifier()
	 * @generated
	 */
	EReference getEMetaClassifier_Generals();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier#isLeafFlag <em>Leaf Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Leaf Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClassifier#isLeafFlag()
	 * @see #getEMetaClassifier()
	 * @generated
	 */
	EAttribute getEMetaClassifier_LeafFlag();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaModel <em>EMeta Model</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Model</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModel
	 * @generated
	 */
	EClass getEMetaModel();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaModel#getPackages <em>Packages</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Packages</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModel#getPackages()
	 * @see #getEMetaModel()
	 * @generated
	 */
	EReference getEMetaModel_Packages();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaModel#getAllTypes <em>All Types</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>All Types</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaModel#getAllTypes()
	 * @see #getEMetaModel()
	 * @generated
	 */
	EReference getEMetaModel_AllTypes();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaGeneralization <em>EMeta Generalization</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Generalization</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaGeneralization
	 * @generated
	 */
	EClass getEMetaGeneralization();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaGeneralization#getGeneral <em>General</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>General</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaGeneralization#getGeneral()
	 * @see #getEMetaGeneralization()
	 * @generated
	 */
	EReference getEMetaGeneralization_General();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaEnumLiteral <em>EMeta Enum Literal</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Enum Literal</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaEnumLiteral
	 * @generated
	 */
	EClass getEMetaEnumLiteral();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaEnumLiteral#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaEnumLiteral#getValue()
	 * @see #getEMetaEnumLiteral()
	 * @generated
	 */
	EAttribute getEMetaEnumLiteral_Value();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass <em>EMeta Class</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Class</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass
	 * @generated
	 */
	EClass getEMetaClass();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#isAbstractFlag <em>Abstract Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Abstract Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#isAbstractFlag()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EAttribute getEMetaClass_AbstractFlag();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#isInterfaceFlag <em>Interface Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Interface Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#isInterfaceFlag()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EAttribute getEMetaClass_InterfaceFlag();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getAttributes <em>Attributes</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Attributes</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getAttributes()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EReference getEMetaClass_Attributes();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getReferences <em>References</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>References</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getReferences()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EReference getEMetaClass_References();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getStructuralFeatures <em>Structural Features</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Structural Features</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getStructuralFeatures()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EReference getEMetaClass_StructuralFeatures();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getOperations <em>Operations</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Operations</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaClass#getOperations()
	 * @see #getEMetaClass()
	 * @generated
	 */
	EReference getEMetaClass_Operations();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaDataType <em>EMeta Data Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Data Type</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaDataType
	 * @generated
	 */
	EClass getEMetaDataType();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaDataType#isSerializableFlag <em>Serializable Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Serializable Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaDataType#isSerializableFlag()
	 * @see #getEMetaDataType()
	 * @generated
	 */
	EAttribute getEMetaDataType_SerializableFlag();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaPrimitiveType <em>EMeta Primitive Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Primitive Type</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaPrimitiveType
	 * @generated
	 */
	EClass getEMetaPrimitiveType();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaEnum <em>EMeta Enum</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Enum</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaEnum
	 * @generated
	 */
	EClass getEMetaEnum();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaEnum#getEnumLiterals <em>Enum Literals</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Enum Literals</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaEnum#getEnumLiterals()
	 * @see #getEMetaEnum()
	 * @generated
	 */
	EReference getEMetaEnum_EnumLiterals();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural <em>EMeta Unlimited Natural</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Unlimited Natural</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural
	 * @generated
	 */
	EClass getEMetaUnlimitedNatural();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural#getValue()
	 * @see #getEMetaUnlimitedNatural()
	 * @generated
	 */
	EAttribute getEMetaUnlimitedNatural_Value();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural#isIsUnlimited <em>Is Unlimited</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Is Unlimited</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaUnlimitedNatural#isIsUnlimited()
	 * @see #getEMetaUnlimitedNatural()
	 * @generated
	 */
	EAttribute getEMetaUnlimitedNatural_IsUnlimited();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaParameter <em>EMeta Parameter</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Parameter</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaParameter
	 * @generated
	 */
	EClass getEMetaParameter();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaParameter#getContainingOperation <em>Containing Operation</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Containing Operation</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaParameter#getContainingOperation()
	 * @see #getEMetaParameter()
	 * @generated
	 */
	EReference getEMetaParameter_ContainingOperation();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature <em>EMeta Structural Feature</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Structural Feature</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature
	 * @generated
	 */
	EClass getEMetaStructuralFeature();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#getContainingClass <em>Containing Class</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Containing Class</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#getContainingClass()
	 * @see #getEMetaStructuralFeature()
	 * @generated
	 */
	EReference getEMetaStructuralFeature_ContainingClass();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#isChangeableFlag <em>Changeable Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Changeable Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#isChangeableFlag()
	 * @see #getEMetaStructuralFeature()
	 * @generated
	 */
	EAttribute getEMetaStructuralFeature_ChangeableFlag();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#isDerivedFlag <em>Derived Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Derived Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaStructuralFeature#isDerivedFlag()
	 * @see #getEMetaStructuralFeature()
	 * @generated
	 */
	EAttribute getEMetaStructuralFeature_DerivedFlag();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaOperation <em>EMeta Operation</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Operation</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaOperation
	 * @generated
	 */
	EClass getEMetaOperation();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getContainingClass <em>Containing Class</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Containing Class</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getContainingClass()
	 * @see #getEMetaOperation()
	 * @generated
	 */
	EReference getEMetaOperation_ContainingClass();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getExceptions <em>Exceptions</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Exceptions</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getExceptions()
	 * @see #getEMetaOperation()
	 * @generated
	 */
	EReference getEMetaOperation_Exceptions();

	/**
	 * Returns the meta object for the reference list '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getParameters <em>Parameters</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Parameters</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaOperation#getParameters()
	 * @see #getEMetaOperation()
	 * @generated
	 */
	EReference getEMetaOperation_Parameters();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaReference <em>EMeta Reference</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Reference</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaReference
	 * @generated
	 */
	EClass getEMetaReference();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaReference#getOpposite <em>Opposite</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Opposite</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaReference#getOpposite()
	 * @see #getEMetaReference()
	 * @generated
	 */
	EReference getEMetaReference_Opposite();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaReference#isContainerFlag <em>Container Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Container Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaReference#isContainerFlag()
	 * @see #getEMetaReference()
	 * @generated
	 */
	EAttribute getEMetaReference_ContainerFlag();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaReference#isContainmentFlag <em>Containment Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Containment Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaReference#isContainmentFlag()
	 * @see #getEMetaReference()
	 * @generated
	 */
	EAttribute getEMetaReference_ContainmentFlag();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute <em>EMeta Attribute</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Attribute</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute
	 * @generated
	 */
	EClass getEMetaAttribute();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute#isIDFlag <em>ID Flag</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>ID Flag</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute#isIDFlag()
	 * @see #getEMetaAttribute()
	 * @generated
	 */
	EAttribute getEMetaAttribute_IDFlag();

	/**
	 * Returns the meta object for the attribute '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute#getInitialValue <em>Initial Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Initial Value</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaAttribute#getInitialValue()
	 * @see #getEMetaAttribute()
	 * @generated
	 */
	EAttribute getEMetaAttribute_InitialValue();

	/**
	 * Returns the meta object for class '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship <em>EMeta Relationship</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>EMeta Relationship</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship
	 * @generated
	 */
	EClass getEMetaRelationship();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship#getSourceType <em>Source Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Source Type</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship#getSourceType()
	 * @see #getEMetaRelationship()
	 * @generated
	 */
	EReference getEMetaRelationship_SourceType();

	/**
	 * Returns the meta object for the reference '{@link edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship#getTargetType <em>Target Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Target Type</em>'.
	 * @see edu.pku.sei.modeler.ocl.metamodel.EMetaRelationship#getTargetType()
	 * @see #getEMetaRelationship()
	 * @generated
	 */
	EReference getEMetaRelationship_TargetType();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	EMetaModelFactory getEMetaModelFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaElementImpl <em>EMeta Element</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaElementImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaElement()
		 * @generated
		 */
		EClass EMETA_ELEMENT = eINSTANCE.getEMetaElement();

		/**
		 * The meta object literal for the '<em><b>Element ID</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_ELEMENT__ELEMENT_ID = eINSTANCE.getEMetaElement_ElementID();

		/**
		 * The meta object literal for the '<em><b>Container</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_ELEMENT__CONTAINER = eINSTANCE.getEMetaElement_Container();

		/**
		 * The meta object literal for the '<em><b>Model</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_ELEMENT__MODEL = eINSTANCE.getEMetaElement_Model();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelElementImpl <em>Element</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelElementImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaModelElement()
		 * @generated
		 */
		EClass EMETA_MODEL_ELEMENT = eINSTANCE.getEMetaModelElement();

		/**
		 * The meta object literal for the '<em><b>Comments</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_MODEL_ELEMENT__COMMENTS = eINSTANCE.getEMetaModelElement_Comments();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaCommentImpl <em>EMeta Comment</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaCommentImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaComment()
		 * @generated
		 */
		EClass EMETA_COMMENT = eINSTANCE.getEMetaComment();

		/**
		 * The meta object literal for the '<em><b>Body</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_COMMENT__BODY = eINSTANCE.getEMetaComment_Body();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaNamedElementImpl <em>EMeta Named Element</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaNamedElementImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaNamedElement()
		 * @generated
		 */
		EClass EMETA_NAMED_ELEMENT = eINSTANCE.getEMetaNamedElement();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_NAMED_ELEMENT__NAME = eINSTANCE.getEMetaNamedElement_Name();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPackageImpl <em>EMeta Package</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPackageImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaPackage()
		 * @generated
		 */
		EClass EMETA_PACKAGE = eINSTANCE.getEMetaPackage();

		/**
		 * The meta object literal for the '<em><b>Sub Packages</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_PACKAGE__SUB_PACKAGES = eINSTANCE.getEMetaPackage_SubPackages();

		/**
		 * The meta object literal for the '<em><b>Named Elements</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_PACKAGE__NAMED_ELEMENTS = eINSTANCE.getEMetaPackage_NamedElements();

		/**
		 * The meta object literal for the '<em><b>Other Elements</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_PACKAGE__OTHER_ELEMENTS = eINSTANCE.getEMetaPackage_OtherElements();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaTypedElementImpl <em>EMeta Typed Element</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaTypedElementImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaTypedElement()
		 * @generated
		 */
		EClass EMETA_TYPED_ELEMENT = eINSTANCE.getEMetaTypedElement();

		/**
		 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_TYPED_ELEMENT__TYPE = eINSTANCE.getEMetaTypedElement_Type();

		/**
		 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_TYPED_ELEMENT__LOWER_BOUND = eINSTANCE.getEMetaTypedElement_LowerBound();

		/**
		 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_TYPED_ELEMENT__UPPER_BOUND = eINSTANCE.getEMetaTypedElement_UpperBound();

		/**
		 * The meta object literal for the '<em><b>Ordered Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_TYPED_ELEMENT__ORDERED_FLAG = eINSTANCE.getEMetaTypedElement_OrderedFlag();

		/**
		 * The meta object literal for the '<em><b>Unique Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_TYPED_ELEMENT__UNIQUE_FLAG = eINSTANCE.getEMetaTypedElement_UniqueFlag();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassifierImpl <em>EMeta Classifier</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassifierImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaClassifier()
		 * @generated
		 */
		EClass EMETA_CLASSIFIER = eINSTANCE.getEMetaClassifier();

		/**
		 * The meta object literal for the '<em><b>Generals</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_CLASSIFIER__GENERALS = eINSTANCE.getEMetaClassifier_Generals();

		/**
		 * The meta object literal for the '<em><b>Leaf Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_CLASSIFIER__LEAF_FLAG = eINSTANCE.getEMetaClassifier_LeafFlag();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelImpl <em>EMeta Model</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaModel()
		 * @generated
		 */
		EClass EMETA_MODEL = eINSTANCE.getEMetaModel();

		/**
		 * The meta object literal for the '<em><b>Packages</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_MODEL__PACKAGES = eINSTANCE.getEMetaModel_Packages();

		/**
		 * The meta object literal for the '<em><b>All Types</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_MODEL__ALL_TYPES = eINSTANCE.getEMetaModel_AllTypes();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaGeneralizationImpl <em>EMeta Generalization</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaGeneralizationImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaGeneralization()
		 * @generated
		 */
		EClass EMETA_GENERALIZATION = eINSTANCE.getEMetaGeneralization();

		/**
		 * The meta object literal for the '<em><b>General</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_GENERALIZATION__GENERAL = eINSTANCE.getEMetaGeneralization_General();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumLiteralImpl <em>EMeta Enum Literal</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumLiteralImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaEnumLiteral()
		 * @generated
		 */
		EClass EMETA_ENUM_LITERAL = eINSTANCE.getEMetaEnumLiteral();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_ENUM_LITERAL__VALUE = eINSTANCE.getEMetaEnumLiteral_Value();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassImpl <em>EMeta Class</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaClassImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaClass()
		 * @generated
		 */
		EClass EMETA_CLASS = eINSTANCE.getEMetaClass();

		/**
		 * The meta object literal for the '<em><b>Abstract Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_CLASS__ABSTRACT_FLAG = eINSTANCE.getEMetaClass_AbstractFlag();

		/**
		 * The meta object literal for the '<em><b>Interface Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_CLASS__INTERFACE_FLAG = eINSTANCE.getEMetaClass_InterfaceFlag();

		/**
		 * The meta object literal for the '<em><b>Attributes</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_CLASS__ATTRIBUTES = eINSTANCE.getEMetaClass_Attributes();

		/**
		 * The meta object literal for the '<em><b>References</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_CLASS__REFERENCES = eINSTANCE.getEMetaClass_References();

		/**
		 * The meta object literal for the '<em><b>Structural Features</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_CLASS__STRUCTURAL_FEATURES = eINSTANCE.getEMetaClass_StructuralFeatures();

		/**
		 * The meta object literal for the '<em><b>Operations</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_CLASS__OPERATIONS = eINSTANCE.getEMetaClass_Operations();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaDataTypeImpl <em>EMeta Data Type</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaDataTypeImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaDataType()
		 * @generated
		 */
		EClass EMETA_DATA_TYPE = eINSTANCE.getEMetaDataType();

		/**
		 * The meta object literal for the '<em><b>Serializable Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_DATA_TYPE__SERIALIZABLE_FLAG = eINSTANCE.getEMetaDataType_SerializableFlag();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPrimitiveTypeImpl <em>EMeta Primitive Type</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaPrimitiveTypeImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaPrimitiveType()
		 * @generated
		 */
		EClass EMETA_PRIMITIVE_TYPE = eINSTANCE.getEMetaPrimitiveType();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumImpl <em>EMeta Enum</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaEnumImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaEnum()
		 * @generated
		 */
		EClass EMETA_ENUM = eINSTANCE.getEMetaEnum();

		/**
		 * The meta object literal for the '<em><b>Enum Literals</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_ENUM__ENUM_LITERALS = eINSTANCE.getEMetaEnum_EnumLiterals();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaUnlimitedNaturalImpl <em>EMeta Unlimited Natural</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaUnlimitedNaturalImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaUnlimitedNatural()
		 * @generated
		 */
		EClass EMETA_UNLIMITED_NATURAL = eINSTANCE.getEMetaUnlimitedNatural();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_UNLIMITED_NATURAL__VALUE = eINSTANCE.getEMetaUnlimitedNatural_Value();

		/**
		 * The meta object literal for the '<em><b>Is Unlimited</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_UNLIMITED_NATURAL__IS_UNLIMITED = eINSTANCE.getEMetaUnlimitedNatural_IsUnlimited();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaParameterImpl <em>EMeta Parameter</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaParameterImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaParameter()
		 * @generated
		 */
		EClass EMETA_PARAMETER = eINSTANCE.getEMetaParameter();

		/**
		 * The meta object literal for the '<em><b>Containing Operation</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_PARAMETER__CONTAINING_OPERATION = eINSTANCE.getEMetaParameter_ContainingOperation();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaStructuralFeatureImpl <em>EMeta Structural Feature</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaStructuralFeatureImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaStructuralFeature()
		 * @generated
		 */
		EClass EMETA_STRUCTURAL_FEATURE = eINSTANCE.getEMetaStructuralFeature();

		/**
		 * The meta object literal for the '<em><b>Containing Class</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_STRUCTURAL_FEATURE__CONTAINING_CLASS = eINSTANCE.getEMetaStructuralFeature_ContainingClass();

		/**
		 * The meta object literal for the '<em><b>Changeable Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_STRUCTURAL_FEATURE__CHANGEABLE_FLAG = eINSTANCE.getEMetaStructuralFeature_ChangeableFlag();

		/**
		 * The meta object literal for the '<em><b>Derived Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_STRUCTURAL_FEATURE__DERIVED_FLAG = eINSTANCE.getEMetaStructuralFeature_DerivedFlag();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaOperationImpl <em>EMeta Operation</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaOperationImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaOperation()
		 * @generated
		 */
		EClass EMETA_OPERATION = eINSTANCE.getEMetaOperation();

		/**
		 * The meta object literal for the '<em><b>Containing Class</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_OPERATION__CONTAINING_CLASS = eINSTANCE.getEMetaOperation_ContainingClass();

		/**
		 * The meta object literal for the '<em><b>Exceptions</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_OPERATION__EXCEPTIONS = eINSTANCE.getEMetaOperation_Exceptions();

		/**
		 * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_OPERATION__PARAMETERS = eINSTANCE.getEMetaOperation_Parameters();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaReferenceImpl <em>EMeta Reference</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaReferenceImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaReference()
		 * @generated
		 */
		EClass EMETA_REFERENCE = eINSTANCE.getEMetaReference();

		/**
		 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_REFERENCE__OPPOSITE = eINSTANCE.getEMetaReference_Opposite();

		/**
		 * The meta object literal for the '<em><b>Container Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_REFERENCE__CONTAINER_FLAG = eINSTANCE.getEMetaReference_ContainerFlag();

		/**
		 * The meta object literal for the '<em><b>Containment Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_REFERENCE__CONTAINMENT_FLAG = eINSTANCE.getEMetaReference_ContainmentFlag();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaAttributeImpl <em>EMeta Attribute</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaAttributeImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaAttribute()
		 * @generated
		 */
		EClass EMETA_ATTRIBUTE = eINSTANCE.getEMetaAttribute();

		/**
		 * The meta object literal for the '<em><b>ID Flag</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_ATTRIBUTE__ID_FLAG = eINSTANCE.getEMetaAttribute_IDFlag();

		/**
		 * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute EMETA_ATTRIBUTE__INITIAL_VALUE = eINSTANCE.getEMetaAttribute_InitialValue();

		/**
		 * The meta object literal for the '{@link edu.pku.sei.modeler.ocl.metamodel.impl.EMetaRelationshipImpl <em>EMeta Relationship</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaRelationshipImpl
		 * @see edu.pku.sei.modeler.ocl.metamodel.impl.EMetaModelPackageImpl#getEMetaRelationship()
		 * @generated
		 */
		EClass EMETA_RELATIONSHIP = eINSTANCE.getEMetaRelationship();

		/**
		 * The meta object literal for the '<em><b>Source Type</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_RELATIONSHIP__SOURCE_TYPE = eINSTANCE.getEMetaRelationship_SourceType();

		/**
		 * The meta object literal for the '<em><b>Target Type</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference EMETA_RELATIONSHIP__TARGET_TYPE = eINSTANCE.getEMetaRelationship_TargetType();

	}

} //EMetaModelPackage
